package com.javaGather.day6;

import java.util.ArrayList;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        ArrayList<Parent> parents = new ArrayList<>();
        ArrayList<Student> students = new ArrayList<>();
        print(parents);
        print(students);

        /**
         * 不可接受，Integer不是Parent的子类
         */
//        ArrayList<Integer> integers = new ArrayList<>();
//        print(integers);

        /**
         * 不可接受，Student为Parent的子类
         */
//        printf(students);


    }

    /**
     * 类型通配符的上限与下限
     * 上限： List<? extends Parent>   extends Parent与他的子类都可以接受
     * 下限： List<? super Parent>        可接受Parent或 父类
     *
     */
    public static void print(List<? extends Parent> list) {

    }

    public static void printf(List<? super Parent> list) {

    }
}
